A Curry-Howard Isomorphism for Compilation and Program Execution
نویسنده
چکیده
This paper establishes a Curry-Howard isomorphism for compilation and program execution by showing the following facts. (1) The set of A-normal forms, which is often used as an intermediate language for compilation, corresponds to a subsystem of Kleene’s contraction-free variant of Gentzen’s intuitionistic sequent calculus. (2) Compiling the lambda terms to the set of A-normal forms corresponds to proof transformation from the natural deduction to the sequent calculus followed by proof normalization. (3) Execution of an A-normal form corresponds to a special proof reduction in the sequent calculus. Different from cut elimination, this process eliminates left rules by converting them to cuts of proofs corresponding to closed values. The evaluation of an entire program is the process of inductively applying this process followed by constructing data structures.
منابع مشابه
Proof-Directed De-compilation of Java Bytecode
We present a proof system for the Java bytecode language based on a Curry-Howard isomorphism for machine code, where an executable code is regarded as a proof of a variant of a sequent calculus of the intuitionistic propositional logic. Diierent from type systems for Java bytecode so far proposed, our proof system not only speciies type consistency but also represents the computation denoted by...
متن کاملTowards Animation of Proofs {testing proofs by examples{
In this paper, we introduce the notion of proof animation. It is a new application of the principle of \Curry-Howard isomorphism" to formal proof developments. Logically, proof animation is merely a contrapositive of \proofs as programs," which is an application of Curry-Howard isomorphism to formal program developments. Nonetheless, the new viewpoint totally changes the scene. The motivation, ...
متن کاملRealizing arithmetical formulæ
Correct (for the execution) program might be untypable : let stupid n =. if n=n+1 then 27 else trué Etienne Miquey Realizing arithmetical formulae Classical realizability Realizability game Zoology Gender equality Introduction Curry-Howard Correct (for the execution) program might be untypable : let stupid n =. if n=n+1 then 27 else trué Etienne Miquey Realizing arithmetical formulae Classical ...
متن کاملThe Logical Abstract Machine: A Curry-Howard Isomorphism for Machine Code
This paper presents a logical framework for low-level machine code and code generation. We first define a calculus, called sequential sequent calculus, of intuitionistic propositional logic. A proof of the calculus only contains left rules and has a linear (non-branching) structure, which reflects the properties of sequential machine code. We then establish a Curry-Howard isomorphism between th...
متن کاملProof-Directed De-compilation of Low-Level Code
We present a proof theoretical method for de-compiling lowlevel code to the typed lambda calculus. We first define a proof system for a low-level code language based on the idea of Curry-Howard isomorphism. This allows us to regard an executable code as a proof in intuitionistic propositional logic. As being a proof of intuitionistic logic, it can be translated to an equivalent proof of natural...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1999